﻿Imports System

Namespace System.Workflow.Activities.Rules
    Friend Class NullArithmeticLiteral
        Inherits ArithmeticLiteral
        ' Methods
        Friend Sub New(ByVal type As Type)
            MyBase.m_type = type
        End Sub

        Friend Overrides Function Add() As Object
            Return Nothing
        End Function

        Friend Overrides Function Add(ByVal v As Boolean) As Object
            Return Nothing
        End Function

        Friend Overrides Function Add(ByVal v As Char) As Object
            Return Nothing
        End Function

        Friend Overrides Function Add(ByVal v As Decimal) As Object
            Return Nothing
        End Function

        Friend Overrides Function Add(ByVal v As Double) As Object
            Return Nothing
        End Function

        Friend Overrides Function Add(ByVal v As Integer) As Object
            Return Nothing
        End Function

        Friend Overrides Function Add(ByVal v As Long) As Object
            Return Nothing
        End Function

        Friend Overrides Function Add(ByVal v As Single) As Object
            Return Nothing
        End Function

        Friend Overrides Function Add(ByVal v As String) As Object
            Return Nothing
        End Function

        Friend Overrides Function Add(ByVal v As UInt16) As Object
            Return Nothing
        End Function

        Friend Overrides Function Add(ByVal v As UInt32) As Object
            Return Nothing
        End Function

        Friend Overrides Function Add(ByVal v As UInt64) As Object
            Return Nothing
        End Function

        Friend Overrides Function Add(ByVal v As ArithmeticLiteral) As Object
            Return v.Add
        End Function

        Friend Overrides Function BitAnd() As Object
            Return Nothing
        End Function

        Friend Overrides Function BitAnd(ByVal v As Boolean) As Object
            If v Then
                Return Nothing
            End If
            Return False
        End Function

        Friend Overrides Function BitAnd(ByVal v As Integer) As Object
            Return Nothing
        End Function

        Friend Overrides Function BitAnd(ByVal v As Long) As Object
            Return Nothing
        End Function

        Friend Overrides Function BitAnd(ByVal v As UInt16) As Object
            Return Nothing
        End Function

        Friend Overrides Function BitAnd(ByVal v As UInt32) As Object
            Return Nothing
        End Function

        Friend Overrides Function BitAnd(ByVal v As UInt64) As Object
            Return Nothing
        End Function

        Friend Overrides Function BitAnd(ByVal v As ArithmeticLiteral) As Object
            Return v.BitAnd
        End Function

        Friend Overrides Function BitOr() As Object
            Return Nothing
        End Function

        Friend Overrides Function BitOr(ByVal v As Boolean) As Object
            If Not v Then
                Return Nothing
            End If
            Return True
        End Function

        Friend Overrides Function BitOr(ByVal v As Integer) As Object
            Return Nothing
        End Function

        Friend Overrides Function BitOr(ByVal v As Long) As Object
            Return Nothing
        End Function

        Friend Overrides Function BitOr(ByVal v As UInt16) As Object
            Return Nothing
        End Function

        Friend Overrides Function BitOr(ByVal v As UInt32) As Object
            Return Nothing
        End Function

        Friend Overrides Function BitOr(ByVal v As UInt64) As Object
            Return Nothing
        End Function

        Friend Overrides Function BitOr(ByVal v As ArithmeticLiteral) As Object
            Return v.BitOr
        End Function

        Friend Overrides Function Divide() As Object
            Return Nothing
        End Function

        Friend Overrides Function Divide(ByVal v As Decimal) As Object
            Return Nothing
        End Function

        Friend Overrides Function Divide(ByVal v As Double) As Object
            Return Nothing
        End Function

        Friend Overrides Function Divide(ByVal v As Integer) As Object
            Return Nothing
        End Function

        Friend Overrides Function Divide(ByVal v As Long) As Object
            Return Nothing
        End Function

        Friend Overrides Function Divide(ByVal v As Single) As Object
            Return Nothing
        End Function

        Friend Overrides Function Divide(ByVal v As UInt16) As Object
            Return Nothing
        End Function

        Friend Overrides Function Divide(ByVal v As UInt32) As Object
            Return Nothing
        End Function

        Friend Overrides Function Divide(ByVal v As UInt64) As Object
            Return Nothing
        End Function

        Friend Overrides Function Divide(ByVal v As ArithmeticLiteral) As Object
            Return v.Divide
        End Function

        Friend Overrides Function Modulus() As Object
            Return Nothing
        End Function

        Friend Overrides Function Modulus(ByVal v As Decimal) As Object
            Return Nothing
        End Function

        Friend Overrides Function Modulus(ByVal v As Double) As Object
            Return Nothing
        End Function

        Friend Overrides Function Modulus(ByVal v As Integer) As Object
            Return Nothing
        End Function

        Friend Overrides Function Modulus(ByVal v As Long) As Object
            Return Nothing
        End Function

        Friend Overrides Function Modulus(ByVal v As Single) As Object
            Return Nothing
        End Function

        Friend Overrides Function Modulus(ByVal v As UInt16) As Object
            Return Nothing
        End Function

        Friend Overrides Function Modulus(ByVal v As UInt32) As Object
            Return Nothing
        End Function

        Friend Overrides Function Modulus(ByVal v As UInt64) As Object
            Return Nothing
        End Function

        Friend Overrides Function Modulus(ByVal v As ArithmeticLiteral) As Object
            Return v.Modulus
        End Function

        Friend Overrides Function Multiply() As Object
            Return Nothing
        End Function

        Friend Overrides Function Multiply(ByVal v As Decimal) As Object
            Return Nothing
        End Function

        Friend Overrides Function Multiply(ByVal v As Double) As Object
            Return Nothing
        End Function

        Friend Overrides Function Multiply(ByVal v As Integer) As Object
            Return Nothing
        End Function

        Friend Overrides Function Multiply(ByVal v As Long) As Object
            Return Nothing
        End Function

        Friend Overrides Function Multiply(ByVal v As Single) As Object
            Return Nothing
        End Function

        Friend Overrides Function Multiply(ByVal v As UInt16) As Object
            Return Nothing
        End Function

        Friend Overrides Function Multiply(ByVal v As UInt32) As Object
            Return Nothing
        End Function

        Friend Overrides Function Multiply(ByVal v As UInt64) As Object
            Return Nothing
        End Function

        Friend Overrides Function Multiply(ByVal v As ArithmeticLiteral) As Object
            Return v.Multiply
        End Function

        Friend Overrides Function Subtract() As Object
            Return Nothing
        End Function

        Friend Overrides Function Subtract(ByVal v As Decimal) As Object
            Return Nothing
        End Function

        Friend Overrides Function Subtract(ByVal v As Double) As Object
            Return Nothing
        End Function

        Friend Overrides Function Subtract(ByVal v As Integer) As Object
            Return Nothing
        End Function

        Friend Overrides Function Subtract(ByVal v As Long) As Object
            Return Nothing
        End Function

        Friend Overrides Function Subtract(ByVal v As Single) As Object
            Return Nothing
        End Function

        Friend Overrides Function Subtract(ByVal v As UInt16) As Object
            Return Nothing
        End Function

        Friend Overrides Function Subtract(ByVal v As UInt32) As Object
            Return Nothing
        End Function

        Friend Overrides Function Subtract(ByVal v As UInt64) As Object
            Return Nothing
        End Function

        Friend Overrides Function Subtract(ByVal v As ArithmeticLiteral) As Object
            Return v.Subtract
        End Function


        ' Properties
        Protected Overrides ReadOnly Property TypeName As String
            Get
                Return Messages.NullValue
            End Get
        End Property

        Friend Overrides ReadOnly Property Value As Object
            Get
                Return Nothing
            End Get
        End Property

    End Class
End Namespace

